/*
 * Tangdao Component Page
 *
 * This style is use in Component page.
 *
 */
@media (max-width: 991.98px) {
  .app-component.component-content-show .component-navleft,
  .app-component.component-content-show .component-sidebar {
    visibility: hidden;
    transform: translateX(-350px); }
  .app-component.component-content-show .component-content {
    visibility: visible;
    transform: translateX(0);
    opacity: 1; } }

@media (max-width: 991.98px) {
  .app-component.component-content-visible .component-content {
    visibility: visible;
    transform: translateX(305px);
    opacity: 1; } }

@media (max-width: 1199.98px) {
  .app-component.component-options-show .component-content {
    transform: translateX(-260px); } }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .app-component.component-options-show .component-navleft,
  .app-component.component-options-show .component-sidebar {
    transform: translateX(-260px); } }

@media (min-width: 1200px) {
  .app-component.component-options-show .component-content-sidebar {
    opacity: 1;
    visibility: visible; } }

.component-wrapper {
  position: fixed;
  top: 55px;
  bottom: 0;
  left: 0;
  right: 0; }
  @media (min-width: 992px) {
    .component-wrapper {
      top: 60px; } }

.component-wrapper-two {
  position: relative;
  height: 100%;
  top: 0; }
  .component-wrapper-two .component-content-header {
    right: 0; }
  .component-wrapper-two .component-content-body {
    right: 0; }
  @media (min-width: 1200px) {
    .component-wrapper-two .component-content-sidebar {
      opacity: 0;
      visibility: hidden; } }

.component-navleft,
.component-sidebar,
.component-content {
  transition: all 0.3s; }
  @media (prefers-reduced-motion: reduce) {
    .component-navleft,
    .component-sidebar,
    .component-content {
      transition: none; } }

.component-navleft {
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  border-right: 1px solid rgba(72, 94, 144, 0.16);
  width: 54px;
  padding: 15px 10px; }
  @media (min-width: 992px) {
    .component-navleft {
      width: 60px; } }
  .component-navleft .nav-link {
    padding: 0;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1b2e4b;
    border-radius: 0.25rem;
    transition: all 0.2s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .component-navleft .nav-link {
        transition: none; } }
    .component-navleft .nav-link:hover, .component-navleft .nav-link:focus {
      color: #1b2e4b; }
    .component-navleft .nav-link.active {
      color: #0168fa; }
      .component-navleft .nav-link.active svg {
        fill: rgba(1, 104, 250, 0.2); }
    .component-navleft .nav-link + .nav-link {
      margin-top: 10px; }
    .component-navleft .nav-link svg {
      width: 20px;
      stroke-width: 2.2px;
      fill: rgba(27, 46, 75, 0.1); }

.component-sidebar {
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 55px;
  right: 0; }
  @media (min-width: 480px) {
    .component-sidebar {
      right: auto;
      width: 250px;
      border-right: 1px solid rgba(72, 94, 144, 0.16); } }
  @media (min-width: 992px) {
    .component-sidebar {
      width: 265px;
      left: 60px; } }
  @media (min-width: 1200px) {
    .component-sidebar {
      width: 280px; } }

.component-sidebar-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 55px;
  border-bottom: 1px solid rgba(72, 94, 144, 0.16);
  display: flex;
  align-items: center;
  padding: 0 15px; }
  .component-sidebar-header .feather-search {
    color: #8392a5;
    align-self: center;
    width: 18px;
    stroke-width: 2.8px;
    margin-right: 10px;
    margin-top: -2px; }
  .component-sidebar-header .search-form {
    flex: 1;
    display: flex;
    align-items: center; }
    .component-sidebar-header .search-form .form-control {
      border-width: 0;
      background-color: transparent;
      font-size: inherit;
      padding: 0;
      color: #1b2e4b; }

.component-sidebar-body {
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  bottom: 0; }
  .component-sidebar-body .tab-pane:first-child .component-list-divider::before {
    width: 27px; }

.component-list .media {
  color: #1b2e4b;
  padding: 10px;
  align-items: flex-end;
  border-radius: 0.25rem; }
  .component-list .media:hover, .component-list .media:focus {
    background-color: #f5f6fa;
    cursor: default; }
    .component-list .media:hover .avatar-online::after,
    .component-list .media:hover .avatar-offline::after, .component-list .media:focus .avatar-online::after,
    .component-list .media:focus .avatar-offline::after {
      box-shadow: 0 0 0 2px #eff2f7; }
    @media (min-width: 992px) {
      .component-list .media:hover nav, .component-list .media:focus nav {
        display: flex; } }
  .component-list .media + .media {
    margin-top: 2px; }
  @media (min-width: 480px) {
    .component-list .media.active {
      background-color: #eef0f7; }
      .component-list .media.active .avatar-online::after,
      .component-list .media.active .avatar-offline::after {
        box-shadow: 0 0 0 2px #e5e9f2; } }

.component-list .media-body span {
  color: #8392a5;
  display: block;
  line-height: 1.02; }

.component-list nav {
  display: none;
  align-items: center;
  align-self: center; }
  .component-list nav a {
    display: block;
    color: #8392a5; }
    .component-list nav a:hover, .component-list nav a:focus {
      color: #1b2e4b; }
    .component-list nav a + a {
      margin-left: 5px; }
  .component-list nav svg {
    width: 16px; }

.component-list-divider {
  display: flex;
  align-items: center;
  color: #8392a5;
  font-size: 10px;
  font-weight: 500;
  font-family: "PingFang SC", "Hiragino Sans GB", "STHeiti", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 15px -10px 10px; }
  .component-list-divider:first-child {
    margin-top: 0; }
  .component-list-divider::before, .component-list-divider::after {
    content: '';
    display: block;
    height: 1px;
    background-color: rgba(229, 233, 242, 0.7); }
  .component-list-divider::before {
    margin-right: 5px;
    width: 15px; }
  .component-list-divider::after {
    margin-left: 5px;
    flex: 1; }

.component-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  visibility: hidden;
  transform: translateX(100vw);
  opacity: 0;
  transition: all 0.3s; }
  @media (prefers-reduced-motion: reduce) {
    .component-content {
      transition: none; } }
  @media (min-width: 480px) {
    .component-content {
      left: 0;
      transform: translateX(320px); } }
  @media (min-width: 992px) {
    .component-content {
      left: 325px;
      transform: none;
      visibility: visible;
      opacity: 1; } }
  @media (min-width: 1200px) {
    .component-content {
      left: 340px; } }

.component-content-header {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 55px;
  border-bottom: 1px solid rgba(72, 94, 144, 0.16);
  display: flex;
  align-items: center;
  padding: 0 20px; }
  @media (min-width: 1200px) {
    .component-content-header {
      right: 290px;
      padding: 0 25px; } }
  .component-content-header .nav-link {
    color: #8392a5;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 0; }
    .component-content-header .nav-link:hover, .component-content-header .nav-link:focus {
      color: #525f70; }
    .component-content-header .nav-link.active {
      color: #0168fa;
      font-weight: 600;
      position: relative; }
      .component-content-header .nav-link.active::before {
        content: '';
        position: absolute;
        bottom: -19px;
        left: 0;
        width: 100%;
        border-bottom: 1px solid #0168fa; }
    .component-content-header .nav-link + .nav-link {
      margin-left: 30px; }
    .component-content-header .nav-link span {
      display: none; }
      @media (min-width: 576px) {
        .component-content-header .nav-link span {
          display: inline; } }

.component-content-body {
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  bottom: 0; }
  @media (min-width: 1200px) {
    .component-content-body {
      right: 290px; } }
  @media (min-width: 1200px) {
    .component-content-body .tab-pane > .row {
      max-width: 800px; } }

.component-content-sidebar {
  background-color: #fff;
  position: absolute;
  top: 0;
  right: -260px;
  bottom: 0;
  border-left: 1px solid rgba(72, 94, 144, 0.16);
  width: 260px;
  padding: 20px; }
  @media (min-width: 1200px) {
    .component-content-sidebar {
      width: 290px;
      padding: 25px;
      right: 0; } }

.component-edit-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-color: #e5e9f2;
  color: #8392a5;
  border-radius: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  box-shadow: 0 0 0 3px #fff; }
  .component-edit-photo:hover, .component-edit-photo:focus {
    color: #1b2e4b;
    background-color: #c0ccda; }
  .component-edit-photo svg {
    width: 12px;
    stroke-width: 3px; }

.component-call-nav {
  display: flex; }
  .component-call-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 100%;
    color: #fff; }
    .component-call-nav a svg {
      width: 16px;
      stroke-width: 2.6px; }
    .component-call-nav a + a {
      margin-left: 8px; }
    .component-call-nav a.nav-call {
      background-color: #00cccc; }
      .component-call-nav a.nav-call:hover, .component-call-nav a.nav-call:focus {
        background-color: #009999; }
    .component-call-nav a.nav-video {
      background-color: #f10075; }
      .component-call-nav a.nav-video:hover, .component-call-nav a.nav-video:focus {
        background-color: #be005c; }
    .component-call-nav a.nav-msg {
      background-color: #0168fa; }
      .component-call-nav a.nav-msg:hover, .component-call-nav a.nav-msg:focus {
        background-color: #0153c7; }

.component-actions {
  display: flex;
  position: relative;
  margin-top: -2px; }
  .component-actions a {
    display: flex;
    align-items: flex-end;
    color: #1b2e4b; }
    .component-actions a:hover, .component-actions a:focus {
      color: #0168fa; }
    .component-actions a svg {
      width: 16px;
      stroke-width: 2.6px;
      margin-right: 5px; }
    .component-actions a + a {
      margin-left: 20px; }

.component-content-nav .nav-link {
  color: #1b2e4b;
  display: flex;
  align-items: center;
  padding: 0; }
  .component-content-nav .nav-link:hover, .component-content-nav .nav-link:focus {
    color: #0168fa; }
  .component-content-nav .nav-link + .nav-link {
    margin-top: 10px; }

.component-content-nav svg {
  position: relative;
  margin-top: -2px;
  width: 18px;
  margin-right: 12px; }
